#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
图片混淆器 (已废弃)

**警告**: 此模块已被废弃，所有功能已迁移到 FileFingerprintModifier。
请使用 core.resources_module.file_fingerprint.FileFingerprintModifier 替代。

保留此文件仅为向后兼容，将在未来版本中移除。
"""

import warnings
from .file_fingerprint import FileFingerprintModifier

# 发出废弃警告
warnings.warn(
    "ImageObfuscator 已废弃，请使用 FileFingerprintModifier 替代。"
    "此类将在未来版本中移除。",
    DeprecationWarning,
    stacklevel=2
)


class ImageObfuscator(FileFingerprintModifier):
    """
    图片混淆器 - 向后兼容包装器

    此类已废弃，所有功能已整合到 FileFingerprintModifier。
    这只是一个向后兼容的包装器，内部直接继承 FileFingerprintModifier。

    迁移指南:
    -----------
    旧代码:
        from core.resources_module.image_obfuscator import ImageObfuscator
        obfuscator = ImageObfuscator(config, logger)
        obfuscator.modify_image_md5()

    新代码:
        from core.resources_module.file_fingerprint import FileFingerprintModifier
        modifier = FileFingerprintModifier(config, logger)
        modifier.modify_image_md5()  # 兼容方法
        # 或使用新接口
        modifier.batch_modify_fingerprints(directory, recursive=True)
    """

    def __init__(self, config, logger):
        """
        初始化（废弃）

        发出废弃警告并调用父类初始化
        """
        warnings.warn(
            "正在使用已废弃的 ImageObfuscator 类。"
            "请迁移到 FileFingerprintModifier。",
            DeprecationWarning,
            stacklevel=2
        )
        super().__init__(config, logger)
        self.logger.log_warning(
            "ImageObfuscator 已废弃，功能已整合到 FileFingerprintModifier"
        )

    def modify_single_image_md5(self, image_path: str):
        """
        修改单个图片的MD5值（废弃）

        此方法已废弃，使用 modify_file_fingerprint 替代
        """
        warnings.warn(
            "modify_single_image_md5 已废弃，"
            "请使用 modify_file_fingerprint(image_path, strategy='image')",
            DeprecationWarning,
            stacklevel=2
        )

        # 创建备份（如果需要）
        self._create_backup(image_path)

        # 使用新接口
        return self.modify_file_fingerprint(image_path, strategy='image')

    # 以下方法都已在 FileFingerprintModifier 中实现，无需重写
    # - modify_image_md5
    # - _find_assets_directory
    # - _find_image_files
    # - restore (现在是 restore_backups)